use std::{fs, path::Path};

fn main() {
    println!("Hello, world!");
    println!("dddd");
    let path = Path::new("./src");
    let mut file_list = Vec::new();
    visit_dir(path, &mut file_list).unwrap();
    println!("{:?}", file_list);
}
fn visit_dir(dir: &Path, file_list: &mut Vec<String>) -> anyhow::Result<()> {
    if dir.is_dir() {
        for entry in fs::read_dir(dir)? {
            let entry = entry?;
            let path = entry.path();
            if path.is_dir() {
                visit_dir(&path, file_list)?;
            } else {
                file_list.push(entry.path().to_str().unwrap().to_string());
            }
        }
        //
    } else {
        file_list.push(dir.to_str().unwrap().to_string());
    }

    Ok(())
}
